package thread;

public class ThreadDemo7 {
    //main是前台线程,如果结束会带着后台线程一起结束
    public static void main(String[] args) {
        Thread t = new Thread(new Runnable() {
            @Override
            public void run() {
                while (true) {
                    System.out.println("hello thread name");
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                }
            }
        },"小白的线程");
        //在start之前,设置线程为后台线程(不能在start后设置)
        //前台线程的运行会阻止进程的结束,后台不会
        //我们一般创建的是前台线程
        t.setDaemon(true);//直接进程结束,设为true为后台,反之是前台
        //jvm内置的线程都是后台线程,都不会阻止进程的结束
        t.start();
        //后台不会阻止进程结束
        //前台会组织进程的结束
        System.out.println("hello main");
        //俩个线程的执行顺序是不清楚的(抢占式执行)
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
    }
}
